#ifndef PARABOLOIDE_HPP
#define PARABOLOIDE_HPP

#include "FormeComposee.hpp"

/**
 * Classe qui implément le paraboloïde, qui est définit par l'équation
 * \f$ z = \frac{ x^2 }{ a^2 } + \frac{ y^2 }{ b^2 } \f$. Le
 * paraboloïde créé est également limité dans l'espace par un plan et
 * a donc une hauteur.
 *
 * Pour résoudre l'intersection, on passe dans les coordonées locales
 * et on se réduit au cas \f$ a = b = 1 \f$.
 *
 * @author Johan "Solo" Luisier
 *
 * @date 3 Juillet 2011
 */
class Paraboloide : public FormeComposee
{
public:
  Paraboloide();
  Paraboloide( const Coord& sommet, const Vecteur& axeX, const Vecteur& axeY,
	       const Vecteur& axeZ,
	       const double& echelleX, const double& echelleY,
	       const double& hauteur );
  //Paraboloide( const Paraboloide& par );
  virtual ~Paraboloide();
};

#endif // PARABOLOIDE_HPP
